package edu.base.service;


import java.util.List;

import javax.servlet.http.HttpSession;

import org.springframework.web.multipart.MultipartFile;

import com.github.pagehelper.PageInfo;

import edu.base.util.HigherResponse;
import edu.base.entity.Advance;
import edu.base.entity.Custom;
import edu.base.entity.Express;
import edu.base.entity.Wxzx;
import edu.base.model.Users;


public interface CustomAdService {
	
	//客户登录
//	HigherResponse<Users> login(String username,String password ,HttpSession session);
	
	//客户查看预约信息
	HigherResponse<PageInfo<Advance>> queryCustomAd(HttpSession session,Integer pageNum,Integer pageSize);
	
	//根据预约编号查询预约信息
	HigherResponse<Advance> queryOneAdByNo(Integer advanceNo);
	
	//客户添加预约(还要上传维修设备的故障图片)
	HigherResponse<String> addOneAdvance(HttpSession session,Advance advance,MultipartFile multipartFile);
	
	//客户取消预约
	HigherResponse<String> updateAdStatus(HttpSession session,Integer advanceId);
	
	//客户修改预约
	HigherResponse<String> updateAdvance(Integer advanceNo,Advance advance);
	
	HigherResponse<Wxzx> queryWxzxByName(String wxzxName);
	
	//客户查询维修中心
	HigherResponse<List<Wxzx>> queryAllWxzx();
	
	//客户添加邮递
	HigherResponse<String> addOneExpress(HttpSession session,Integer advanceId,Express express);
	
	//客户查询邮递信息
	HigherResponse<Express> queryExpressInfo(HttpSession session, Integer advanceNo);

	//客服查询客户预约列表
	HigherResponse<PageInfo<Advance>> queryAllAdInfo(Integer pageNum, Integer pageSize,String beginTime,String endTime,Byte advanceMethod,Byte advanceStatus);

	//客服查询客户的邮递信息
	HigherResponse<Express> getOneExpress(Integer advanceNo);

	//客服删除客户的预约信息
	HigherResponse<String> deleteOneAdvance(Integer advanceNo);

	//客服确认预约
	HigherResponse<String> acceptAdvance(Integer advanceNo);

	//客服查询邮递信息列表
	HigherResponse<PageInfo<Express>> queryAllExpress(Integer pageNum, Integer pageSize, Integer advanceId,
			Integer userId, String expressCompany);

	//客服查询维修中心信息
	HigherResponse<PageInfo<Wxzx>> queryWxzxList(Integer pageNum, Integer pageSize,Integer status);

	//客服修改维修中心状态
	HigherResponse<String> updateWxzxStatus(Integer wxzxId,Integer status);

	//客服修改维修中心的管理者姓名
	HigherResponse<String> updateWxzxManager(Integer wxzxId, String wxzxManager);

	//客服修改维修中心的管理者联系方式
	HigherResponse<String> updateWxzxPhone(Integer wxzxId, String phone);
	
	//客服修改维修中心的地址
	HigherResponse<String> updateWxzxAddress(Integer wxzxId, String wxzxAddress);

	//客服添加维修中心信息
	HigherResponse<String> addOneWxzx(Wxzx wxzx);

	

	
	
}
